package multimidia;

import java.util.ArrayList;
import java.util.Scanner;

import functionalCore.Familia;

import beans.Pessoa;

public class Principal {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Familia fam = new Familia();
		ArrayList<Pessoa> arvore = fam.criarArvore();
		Scanner sc = new Scanner(System.in);
		System.out.println("\tDigite um dos numeros abaixo:\n");
		System.out.println("\t1 = Pai");
		System.out.println("\t2 = Mae");
		System.out.println("\t3 = Irmao");
		System.out.println("\t4 = Filho");
		System.out.println("\t5 = Conjuge\n");
		System.out.print("\tEscolha: ");
		int a = sc.nextInt();
		switch(a)
		{
		case 1: 
			System.out.println("\n\t\t1 = " + arvore.get(2).getNome());
			System.out.println("\t\t2 = " + arvore.get(3).getNome());
			System.out.println("\t\t3 = " + arvore.get(4).getNome() + "\n");
			System.out.print("\t\tEscolha: ");
			int b = sc.nextInt();
			switch(b)
			{
			case 1:
				System.out.println("\n\t\t\tpai(" + arvore.get(2).getNome() + ") -> " + arvore.get(2).getPai());
				break;
			case 2:
				System.out.println("\n\t\t\tpai(" + arvore.get(3).getNome() + ") -> " + arvore.get(3).getPai());
				break;
			case 3:
				System.out.println("\n\t\t\tpai(" + arvore.get(4).getNome() + ") -> " + arvore.get(4).getPai());
				break;
			default:
				System.out.println("\n\t\t\tEssa opcao nao existe");
				break;
			}
			break;
		case 2:
			System.out.println("\n\t\t1 = " + arvore.get(2).getNome());
			System.out.println("\t\t2 = " + arvore.get(3).getNome());
			System.out.println("\t\t3 = " + arvore.get(4).getNome() + "\n");
			System.out.print("\t\tEscolha: ");
			b = sc.nextInt();
			switch(b)
			{
			case 1:
				System.out.println("\n\t\t\tmae(" + arvore.get(2).getNome() + ") -> " + arvore.get(2).getMae());
				break;
			case 2:
				System.out.println("\n\t\t\tmae(" + arvore.get(3).getNome() + ") -> " + arvore.get(3).getMae());
				break;
			case 3:
				System.out.println("\n\t\t\tmae(" + arvore.get(4).getNome() + ") -> " + arvore.get(4).getMae());
				break;
			default:
				System.out.println("\n\t\t\tEssa opcao nao existe");
				break;
			}
			break;
		case 3:
			System.out.println("\n\t\t1 = " + arvore.get(2).getNome());
			System.out.println("\t\t2 = " + arvore.get(3).getNome());
			System.out.println("\t\t3 = " + arvore.get(4).getNome() + "\n");
			System.out.print("\t\tEscolha: ");
			b = sc.nextInt();
			switch(b)
			{
			case 1:
				for(int i=0; i < arvore.get(2).sizeIrmao(); i++)
				{
					System.out.println("\n\t\t\tirmao(" + arvore.get(2).getNome() + ") -> " + arvore.get(2).getIrmao(i));
				}
				break;
			case 2:
				for(int i=0; i < arvore.get(3).sizeIrmao(); i++)
				{
					System.out.println("\n\t\t\tirmao(" + arvore.get(3).getNome() + ") -> " + arvore.get(3).getIrmao(i));
				}
				break;
			case 3:
				for(int i=0; i < arvore.get(4).sizeIrmao(); i++)
				{
					System.out.println("\n\t\t\tirmao(" + arvore.get(4).getNome() + ") -> " + arvore.get(4).getIrmao(i));
				}
				break;
			default:
				System.out.println("\n\t\t\tEssa opcao nao existe");
				break;
			}
			break;
		case 4:
			System.out.println("\n\t\t1 = " + arvore.get(0).getNome());
			System.out.println("\t\t2 = " + arvore.get(1).getNome());
			System.out.print("\t\tEscolha: ");
			b = sc.nextInt();
			switch(b)
			{
			case 1:
				for(int i=0; i < arvore.get(0).sizeFilho(); i++)
				{
					System.out.println("\n\t\t\tfilho(" + arvore.get(0).getNome() + ") -> " + arvore.get(0).getFilho(i));
				}
				break;
			case 2:
				for(int i=0; i < arvore.get(1).sizeFilho(); i++)
				{
					System.out.println("\n\t\t\tfilho(" + arvore.get(1).getNome() + ") -> " + arvore.get(1).getFilho(i));
				}
				break;
			default:
				System.out.println("\n\t\t\tEssa opcao nao existe");
				break;
			}
			break;
		case 5:
			System.out.println("\n\t\t1 = " + arvore.get(0).getNome());
			System.out.println("\t\t2 = " + arvore.get(1).getNome());
			System.out.print("\t\tEscolha: ");
			b = sc.nextInt();
			switch(b)
			{
			case 1:
					System.out.println("\n\t\t\tconjuge(" + arvore.get(0).getNome() + ") -> " + arvore.get(0).getConjuge());
				break;
			case 2:
				System.out.println("\n\t\t\tconjuge(" + arvore.get(1).getNome() + ") -> " + arvore.get(1).getConjuge());
				break;
			default:
				System.out.println("\n\t\t\tEssa opcao nao existe");
				break;
			}
			break;
		default:
			System.out.println("\n\t\tEssa opcao nao existe");
			break;
		}
		

	}

}
